/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package simulador;

import Protocolo.*;
import java.util.ArrayList;

/**
 *
 * @author jccaicedo
 */
public class SimuladorServidor implements ObservarProtocolo{

    private ArrayList<ConexionServidorACliente> lista;

    public SimuladorServidor(){
        lista = new ArrayList<ConexionServidorACliente>();
        ConexionServidor cs = new ConexionServidor(4444);
        while(true){
            try{
                ConexionServidorACliente o = cs.recibirConexion();
                o.agregarObservador(this);
                lista.add(o);
                System.out.println("Aceptando conexion");
            }catch(Exception ex){
                ex.printStackTrace();
            }
        }
    }

    public void recibirMensaje(String usuario, String mensaje) {
        System.out.println(usuario + " dice " + mensaje);
        // Redistribuir a todos los usuarios:
        for(ConexionServidorACliente csac: lista){
            csac.enviarMensaje(usuario + ":"+mensaje);
        }
    }

    public static void main(String[] args){
        new SimuladorServidor();
    }

}
